package com.mpo.ejb.servicio.frontend;

import java.util.List;

import javax.ejb.Remote;
import javax.ws.rs.PathParam;

import com.mpo.common.util.SeguridadesException;
import com.mpo.ejb.persistence.util.frontend.dto.OrdenDePagoDTO;
import com.mpo.ejb.persistence.util.frontend.dto.UsuarioDTO;

@Remote
public interface ServicioClienteRemote {
	/**
	 * Metodo de la interfaz remoto para insertar datos de pasajeros
	 * 
	 * @param nombres
	 * @param apellidos
	 * @param pasaporte
	 * @param email
	 * @param pais
	 * @return
	 * @throws SeguridadesException
	 */
	public boolean setPasajero(String nombres, String apellidos,
			String pasaporte, String email, String pais)
			throws SeguridadesException;

	/**
	 * Metodo de la interfaz remoto para insertar datos de los servicios que
	 * adquiere cliente
	 * 
	 * @param tipo_servicio
	 * @param servicio
	 * @param valorUnit
	 * @param cantidad
	 * @param detalle
	 * @return
	 */
	public boolean setServiciosCliente(Integer cuenta, Integer servicio,
			Integer cantidad, String detalle) throws SeguridadesException;
	
	/**
	 * Metodo de la interfaz remoto para insertar datos de los abonos que los clientes realiza 
	 * adquiere cliente
	 * @param cuenta
	 * @param fechaInicio
	 * @param fechaLimite
	 * @param valor
	 * @param concepto
	 * @return
	 * @throws SeguridadesException
	 */
	
	public boolean setOrdenPagoPorIdCuenta(Integer cuenta, String fechaInicio, String fechaLimite,
			String valor, String concepto) throws SeguridadesException;

	/**
	 * Metodo de la interfaz remoto para abrir una cuenta para un cliente
	 * 
	 * @param cliente
	 * @param descripcionCuenta
	 * @return
	 * @throws SeguridadesException
	 */
	public boolean setAbrirCuentaCliente(Integer cliente,
			String descripcionCuenta) throws SeguridadesException;
	
	public OrdenDePagoDTO getOrdenPagoPorId(Integer idOrdenPago)throws SeguridadesException;
	/**
	 * Metodo de la interfaz remota para obtener una empleados pertenecientes a
	 * una empresa
	 * 
	 * @param idEmpresaMain
	 * @return
	 * @throws SeguridadesException
	 */
	public List<UsuarioDTO> getEmpleadosPorIdEmpresa(Integer idEmpresaMain)
			throws SeguridadesException;
}
